package com.smedi.ismedi.authoritymanagement.core.port.adapter.service;

import com.smedi.ismedi.personnel.api.dto.response.InternalAssignmentResponse;
import com.smedi.ismedi.personnel.api.dto.response.PersonResponse;
import com.smedi.ismedi.personnel.api.dto.response.PersonSimpleResponse;
import com.smedi.ismedi.personnel.api.dto.response.ScopeTopPermissionResponse;

import java.util.List;

/**
 * @Author: xulinjun
 * @Date: 2021-6-10 20:45
 */
public interface PersonnelRemoteApiService {
    PersonResponse getQueryPersonDetailInfo(Long personId);

    Boolean checkPersonIsAvailable(Long personId);

    void getLoginScopeInitializeDataAndSubmit();

    List<Long> getPersonIdsByLastNameAndUserNameAndMobile(String lastName, String userName, String mobile);

    List<PersonSimpleResponse> getPersonSimpleByPersonIds(List<Long> personIds);

    List<PersonSimpleResponse> getQueryPersons(List<Long> personIds);

    List<InternalAssignmentResponse> getInternAssignment(Long personId);

    void deletePersonBasicAndAllAssignments(Long personId);
}
